﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Model.Sys;

namespace IBll.Sys
{
    public interface ICacheBll: IDependency
    {
        #region 增加

        /// <summary>
        /// 增加一个缓存对象（永不过期）
        /// </summary>
        bool Add(string key, object value);

        /// <summary>
        /// 增加一个缓存对象（自定义过期时间）
        /// </summary>
        bool Add(string key, object value, DateTime expireTime);

        #endregion

        #region 删除

        /// <summary>
        /// 删除一个缓存对象
        /// </summary>
        bool Remove(string key);

        /// <summary>
        /// 删除一组缓存对象
        /// </summary>
        bool Remove(List<string> keys);

        /// <summary>
        /// 删除所有缓存对象
        /// </summary>
        bool Remove();

        #endregion

        #region 修改

        /// <summary>
        /// 修改一个缓存对象
        /// </summary>
        bool Update(string key, object value);

        #endregion

        #region 查询

        /// <summary>
        /// 查询当前缓存数
        /// </summary>
        int GetCount();

        /// <summary>
        /// 是否存在对应Key值的缓存对象
        /// </summary>
        bool IsExists(string key);

        /// <summary>
        /// 获取该key值对应的缓存对象
        /// </summary>
        Cache GetCache(string key);

        #endregion


    }
}
